{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Linear inverse solutions in NumPy\n",
    "\n",
    "An exploration of linear seismic inversion — considering the particular problem of getting reflectivity from a seismic trace, given the wavelet.\n",
    "\n",
    "We'll be working on a model, so we know the correct answer from the start.\n",
    "\n",
    "**This notebook requires Python 3.5, Numpy 1.11, and scikit-learn 0.18.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'3.5.2 | packaged by conda-forge | (default, Jul 26 2016, 01:32:08) \\n[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import sys\n",
    "sys.version"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.11.2'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.18'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import sklearn\n",
    "sklearn.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now for the rest of the preliminaries."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy.linalg as la\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from ipywidgets import interact, interactive, fixed\n",
    "import ipywidgets as widgets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Some helpful functions\n",
    "\n",
    "These are some functions we will use later. I'm defining them up-front so that we can talk about the maths without too much code getting in the way. It's probably best to ignore these for now, but when we get to them, you might want to come back here to understand what they do."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def norm(m):\n",
    "    return m.T @ m\n",
    "\n",
    "def misfit(d, d_pred):\n",
    "    misfit = (d_pred - d).T @ (d_pred - d)\n",
    "    return np.asscalar(misfit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from scipy import linalg as spla\n",
    "\n",
    "def convmtx(h, n):\n",
    "    \"\"\"\n",
    "    Equivalent of MATLAB's convmtx function, http://www.mathworks.com/help/signal/ref/convmtx.html.\n",
    "    \n",
    "    Makes the convolution matrix, C. The product C.x is the convolution of h and x.\n",
    "    \n",
    "    Args\n",
    "        h (ndarray): a 1D array, the kernel.\n",
    "        n (int): the number of rows to make.\n",
    "        \n",
    "    Returns\n",
    "        ndarray. Size m+n-1\n",
    "    \"\"\"\n",
    "    col_1 = np.r_[h[0], np.zeros(n-1)]\n",
    "    row_1 = np.r_[h, np.zeros(n-1)]\n",
    "    return spla.toeplitz(col_1, row_1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1., -1.,  0.,  0.,  0.,  0.],\n",
       "       [ 0.,  1., -1.,  0.,  0.,  0.],\n",
       "       [ 0.,  0.,  1., -1.,  0.,  0.],\n",
       "       [ 0.,  0.,  0.,  1., -1.,  0.],\n",
       "       [ 0.,  0.,  0.,  0.,  1., -1.]])"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "convmtx([1, -1], 5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Construct the model m\n",
    "\n",
    "We start with the slightly odd-seeming number of samples 51. This is because when we calculate the impedance contrasts (reflectivities), we'll lose a sample. Since I'd like 50 samples in the final reflectivity model `m`, we have to start with 50 + 1 samples in the impedance model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Impedance, imp     VP    RHO\n",
    "imp = np.ones(51) * 2550 * 2650\n",
    "imp[10:15] =        2700 * 2750\n",
    "imp[15:27] =        2400 * 2450\n",
    "imp[27:35] =        2800 * 3000"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Make a consistent `x` space for the model to live in. This might be 'depth'."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd19fa7c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(imp)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "But I really want to use the reflectivity, so let's compute that:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "m = (imp[1:] - imp[:-1]) / (imp[1:] + imp[:-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nrkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd17f73dd8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(m)\n",
    "\n",
    "# We can plot the impedance too, scaled to fit on this plot, so we\n",
    "# can see how the interface property relates to the rock property.\n",
    "plt.plot(imp/1e8, alpha=0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that we lost a sample: now there are only 50 samples. This is what we wanted.\n",
    "\n",
    "## Forward operator: convolution with wavelet"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we make the kernel matrix *G*, which represents convolution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd17e4a080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.signal import ricker\n",
    "wavelet = ricker(points=20, a=2)\n",
    "\n",
    "plt.plot(wavelet)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's normalize the wavelet amplitude to 1 so that the amplitude relates directly to the reflectivity."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "wavelet /= np.amax(wavelet)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd17e7f128>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Downsampling: set to 1 to use every sample.\n",
    "s = 2\n",
    "\n",
    "# Make G.\n",
    "G = convmtx(wavelet, m.size)[::s, 10:60]\n",
    "plt.imshow(G, cmap='viridis', interpolation='none')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# Or we can use bruges (pip install bruges)\n",
    "# from bruges.filters import ricker\n",
    "# wavelet = ricker(duration=0.04, dt=0.001, f=100)\n",
    "# G = convmtx(wavelet, m.size)[::s, 21:71]\n",
    "\n",
    "# f, (ax0, ax1) = plt.subplots(1, 2)\n",
    "# ax0.plot(wavelet)\n",
    "# ax1.imshow(G, cmap='viridis', interpolation='none', aspect='auto')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Forward model the data d\n",
    "\n",
    "Now we can perform the forward problem: computing the data. We use the formulation\n",
    "\n",
    "$$ \\mathbf{d} = \\mathbf{Gm} $$\n",
    "\n",
    "Note that this equation is often rearranged and written $$ \\mathbf{Ax} = \\mathbf{b} $$ in linear algebra textbooks and in other tutorials, etc. Just in case you're looking for more examples. In that case, **A** is analogous to **G**, and **b** to **d**, and we're solving for **x** not **m**. All just notation &mdash; we can of course call things whatever we want."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "d = G @ m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's visualize these components for fun. This is Figure 1 in the printed manuscript. I've hidden all the plotting in the `utils.py` file. You could do the basics with a lot less code, but I wanted it to look nice for the paper."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/matt/anaconda/envs/linalg/lib/python3.5/site-packages/matplotlib/figure.py:1744: UserWarning: This figure includes Axes that are not compatible with tight_layout, so its results might be incorrect.\n",
      "  warnings.warn(\"This figure includes Axes that are not \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd17f6d518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from utils import plot_gmd\n",
    "\n",
    "plot_gmd(G, m, d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that `G * m` gives us exactly the same result as `np.convolve(w_, m)`. This is just another way of implementing convolution that lets us use linear algebra to perform the operation, and its inverse."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7fdd15324a20>]"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nBU5jL5RxvhwXAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd154d01d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.convolve(wavelet, m, mode='same')[::s], c='#462f7c', lw=3)\n",
    "plt.plot(G @ m, 'red')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can move on to the more interesting problem: if we only know a few measurements (i.e. this data `d`) and the kernel `G` that represents our understanding of the geophysics, can we _guess_ the model? "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<hr />\n",
    "\n",
    "## Noise-free: minimum norm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# If G is square and invertible, we can use the inverse directly:\n",
    "# m_est = la.inv(G) @ d\n",
    "\n",
    "# If G is fat (more columns than rows: underdetermined system),\n",
    "# then we use the 'right' pseduo-inverse of G:\n",
    "m_est = G.T @ la.inv(G @ G.T) @ d\n",
    "\n",
    "# If G is skinny (more rows than columns: overdetermined),\n",
    "# we use the left inverse:\n",
    "# m_est = la.inv(G.T @ G) @ G.T @ d\n",
    "\n",
    "d_pred = G @ m_est"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nvDwGDhxIdnY2b731Fv7+/ixbtoynn36a/Px8Hn30UQDOnj3LiBEjaN26NfPmzaOgoIAPP/yQ3Nxc\nrKysDLFotVoeeughzp07x2uvvUbTpk05dOgQH3/8MZmZmbz33ntm1UkIIapSv3792LBhA0ePHqVT\np06A5d/38fHxjBkzhsDAQHQ6HRs3bmTkyJH88ssv9O7du9R4ylP2s88+o0OHDnzzzTekpqbyn//8\nh6effpq1a9ca9jH3msOU4n3Gjh3L2LFjefXVV9m+fTszZ87EysqK119/3Wj/yZMn07dvX3788UfD\nDYJjx44xaNAgWrVqxZdffomDgwNz585l6NChbNmyxZCMLVy4kKlTpzJ27FgefPBB4uLieOKJJ7h+\n/XqJmG6P/Y033uCbb75h/PjxTJ06FaVSycGDB7ly5QrR0dHMmjWLSZMmMXPmTKKiogAIDw8H4O23\n3+abb77h2Wef5f333ycxMZH333+fM2fOsGXLFqNzUNFrHnPrlpGRgY2NDW+++Sb169cnJSWFr7/+\nmgEDBnDw4EFsbGxKvfYpKCjg+vXrvPrqq/j4+JCZmcncuXOJjo7m4MGD1K9fv8xYRc0kCa0o1ciR\nI3nzzTeZMWMG165dY8eOHaxYsaLEfjqdjunTp9O9e3dmz55teD80NJT77ruPRYsW8dRTTxETE8OK\nFSt46623eOmllwDo2bMn169fZ968eUbHnDJlCt26dWPRokWG97p160ZERARff/11iTukZfnyyy+N\n4u3Tpw/Hjx9n4cKFfPjhh0b7dunShRkzZhjiO3fuHIsWLTIktL///jv79u1j3rx5DB06FIBevXox\nfPhws+78mlO348ePU1hYyCeffGLoOtytWzfD/oGBgXh4eGBjY0Pr1q3NOgcZGRls3bqVhg0bAkVJ\n1+jRo4mPj2fVqlWGeuzevZvVq1cbJbRlnT93d3eCgoKAoq5tgYGBhv337NnDqlWr+OGHHxgxYgQA\nPXr0wNXVlaeffpq//vqLFi1asHjxYuLj49m2bZuhTn379qVz585m1c+SOi5atIgLFy6wbt06w+f1\n6dOHq1ev8v777zNu3DgUCgWzZs3C2dmZVatWYWdnB0C7du2IiorC19fXEMfy5cvZv38/GzZsMNwQ\n6t69O3q9no8//piXX34ZDw8Ps+slhBBVISAgAL1eb9SbypLve8Dohp1er6d79+7ExMQwd+7cMhPa\n8pRt1KiR4aYwQGpqKm+99RYpKSl4e3uX65rjThQKBY899phR+ezsbEMSWK9ePcO+bdq04YsvvjAq\nP23aNBo2bMi6desMNz379OlDx44dmTlzJosWLTK0C9HR0Xz11VcA9O7dGw8PDx5//PFS47tw4QLf\nffcdL7zwgtG5i46ONvw/PDwcvV5PaGgobdq0MbwfHx/PV199xZQpU/j3v/9teL9x48b079+fjRs3\nMnDgQIuuecpTt8aNGxuuvaDod699+/a0aNGCrVu3MmjQoFKvferVq1fid7d3796EhYXxyy+/8Oyz\nz5Yaq6i5pMuxKFXx07KNGzeyfPlyfHx86NGjR4n9zp8/T2pqKsOGDTN6v2PHjjRo0MDQteXgwYPo\n9XqGDBlitN9DDz1k1G0lLi6OCxcuMGzYMLRareGfnZ0d7dq1Y8+ePeWuy44dOxg8eDDBwcF4eHjg\n6elJbGwsMTExJfbt16+f0evmzZtTUFBAamqqoR7W1tYlZld+6KGHyozD3Lq1atUKlUrF448/zq+/\n/kpaWlq563y7xo0bGxI9wNAl6vaLhLCwsBKNVHnO3+1+++03bG1teeCBB4zq3KtXL/R6vaHOBw8e\nxN/f36iRUigUhga0Kuu4d+9e/Pz8SiTPI0aMIC0tjTNnzhhijI6ONiSzAP7+/nTo0KFEnRs0aEC7\ndu1K1FmtVnPw4EGz6ySEEFWluO299UmbJd/3UPRU8pFHHiEsLMxQ/vfffzerfHnK3pq0QVFbDXDl\nyhUADh06ZNY1R1lMlb9+/XqJYUKDBg0yep2fn8+ePXsMXX5vbQt69OhhaPsSEhJISEgo8TkPPPAA\n1talP3vasWMHer2e8ePHm12f28vefj3SunVrnJ2dDfEdOHCgwtc85a3b3Llz6dq1KwEBAXh4eNCi\nRQsUCoXZv3urVq2ib9++NGrUCA8PD/z8/MjNzTW7vKiZ5AmtKJWTkxMDBw5k6dKlxMfHM3z4cJP7\nZWRkAJicdc/b29uw/erVqwB4eXkZ7XP76+LE8cUXXzSM0ymmUCgICAgoVz2OHz/OiBEj6Nu3L19/\n/TU+Pj4olUpefPFFo3FDxVxdXY1eF3dnKd43JSUFV1dXoy6mpuphSll1a9CgAQBBQUGsWLGCL774\ngmeffZb8/HzatGnD22+/TZcuXcysuTEXFxej18WTStxeX5VKhUajQafToVQqy33+TNW5oKDA6Anm\nrXW+du0aUHReTZ1Dc86rpXXMyMjA29u7xPGK3yv+HS4txvj4eMPr1NRU4uPj8fT0LLHvrXUWQojq\nlJCQgEKhMHzXWfp9X5y8NG3alJkzZxIQEICVlRUffPAB586dq9SyptpqvV5v1FZD2dccZTFVXq/X\nG43thJLXQBkZGWi1WmbOnMnHH39c4rhKpbLUOK2srHB3dy81tuK2pLzDsKCondLr9YZuyLe6tZ26\nevVqha95ylO3H374gcmTJ/Piiy/Su3dvXF1dDT0EzPnd27hxI48//jhjxoxh8uTJeHh4oFAoGD58\nuFnlRc0lCa0o08iRIxkxYgR6vZ7//ve/Jvdxc3MDKDEBVPF7xV+WxQ3m1atXadSokWGf4kS3WPGX\n3FtvvWXyiXBxgmmutWvXolKpWLRokaEBAcjMzCzRIJrD29ubzMxMtFqt0Rf87fUwpTx169q1K127\ndqWwsJB9+/Yxffp0Ro4cyYkTJwzn/G5Ys2aNRefP3d0de3t7Nm7caPKueHGi6+3tbXgSeitTv1eV\nzc3NzeQd3OLPLv65eXt7m/w5m/odDgwMZP78+SbrfOvvvxBCVJdNmzZhZ2dHZGQkYPn3/fbt28nJ\nyWH+/PlGCV5eXl6Vli1265Nmc685ynKn8qZu0t7KxcUFpVLJk08+yahRo+74VPjWOG+l1WrLvPlZ\nPHQlKSmJkJCQO+5naqyru7s7CoWCVatWlbgZXLy9OL6KXvOUp26rVq2iZ8+evPvuu4b3yrN27qpV\nqwgJCeHrr782vKfRaAw3pEXtJV2ORZl69erFQw89xIQJEwyTCIDxl2NoaCheXl6sXLnSqOz+/fu5\nfPmyYexn27ZtUSgUJRZzX7FiRYnjNWzYkL///pvIyMgS/5o1a1auOuTl5ZW4s7hz505Dt6RbmTPB\nQfv27dFoNKxZs6ZEPcpSkbqpVCq6devGSy+9RG5uruEL3tbWtsRMvVXhxo0bZp0/W1tbw/63Kr67\nmpWVZbLOxQ1e+/btSUhI4PDhw4ayer2+xO9LVejSpQuJiYkcOHDA6P3ly5dTv359w+9++/bt2bp1\nq1Edr1y5wv79+43K9enTh4SEBBwdHU3W+W7ekBBCCFN+/fVXNm3axOOPP24YRmHp931x8nlrd9KY\nmJgS35GmWFLWFHOvOcpiqryzs7NRe23qeA4ODnTq1Im//vqLiIgIk20BFA1b8ff3L/E5v/76KxqN\nptTYevbsiUKhuONs+1D0s7r1yXWxXr16oVQquXz5ssnYiofvWHLNU5665eXllViOaNGiRSXO7Z2u\nffLy8kp0Y16yZAlarbbMOEXNJk9oRZmUSqXRRE/Fbr3TqFQqmTp1Kq+88gpPPfUUjzzyCAkJCXzw\nwQeEhoYyZswYoGh847Bhw5g+fbphnMZvv/3G1q1bSxx/1qxZjBkzBrVazdChQ/Hw8CA1NZX9+/fT\noEEDnnvuObPr0LdvX77//nueeeYZxowZQ0xMDLNmzcLf37/Uet1Jz5496dixIy+//DJpaWmEhISw\ncuVKk08XTTGnbvPmzWPPnj1ER0fj7+9PWloan3/+OX5+foZZmcPDw8nIyOC///0vUVFR2NraGhrY\nylwaxtzzVzzxxOzZsxk1ahQqlYoWLVrQtWtXHn74YcaPH89zzz1HmzZtUCqVXLp0ia1bt/Luu+8S\nHBzMqFGj+Oyzzxg3bhxvvPEG9evX57///W+JmRCrwujRo/n+++8ZN24c//nPfwyzHO/cuZPPP//c\n0KD++9//ZvXq1Tz44IO8+OKLqNVqZsyYUaI71YgRI1i8eDEPPPAAzz//PC1atKCwsJC4uDg2bdrE\n4sWLDReQsoyPEKIq6fV6jh8/TlpaGmq1mitXrrB582ZWr15Nnz59jNahtfT7vmfPnlhZWfH000/z\nwgsvkJSUxEcffUSDBg3Q6XSlxmlJ2VvrWqw81xylHW/BggWG8tu2bWPRokVMmTIFZ2dnk597qw8+\n+ID777+fBx98kHHjxuHt7U16ejonTpxAp9Mxbdo0FAoFr7/+OhMnTuT555/n4YcfJjY2li+++MJo\n0ilTAgMDee655/j222/Jycnhvvvuw8rKisOHDxMeHs7QoUNp3Lgx1tbWLFq0CFdXV2xtbWncuDGB\ngYFMnDiR1157jfPnz9OlSxdsbW25cuUKO3fu5NFHH6Vr164WXfOUp259+/bliy++4NNPP6VNmzb8\n8ccf/PrrryWOeadrn759+7JhwwamTp1K//79OXr0KLNnz65QTzxRs0hCKyrs9jtm48ePx8HBgS+/\n/JIxY8bg6OhIv379eOedd7C3tzfs98UXX+Ds7MzXX39NYWEh3bt3Z+7cuQwYMMDoeNHR0WzYsIFZ\ns2YxceJE8vPz8fLyol27djz88MOlxnK73r17M2PGDL755hvWrVtH06ZN+f7775k1a5bJ5W3M8fPP\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdd17f35f60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from utils import plot_two  # A print-ready plot\n",
    "\n",
    "plot_two(m, d, m_est, d_pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It's interesting to look at these intermediate arrays:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nVvxPfzE/mU3P9LO1kvY+jNX9XEsxQ93+J/aYidm0FzUk1lhuVle+Fm1iKVqFYuKaEupiA8CFjDN4\nAAAAOUOABwAAkDMEeAAAADlDgAcAAJAzbdlkAQDAhSy2PaeZUTi+q+xvYmo48/oq/q7ByYa/iWp1\nadbtOzQ7EG2/rHvEnXP/1C6373UDj0fb/+vo5e6c/3XoKbfvdw/dGG1/17rvu3M+ffQ1bt/u3nhh\nrR/ObnfnDDmpVSTpVEaalN5y/P2aqpbdOVmpdbx30TLmZOEMHgAAQM4Q4AEAAOQMAR4AAEDOEOAB\nAADkDAEeAABAzhDgAQAA5Mx5lybFUsvWhsRal63Urk3coTyTsUU6ppC4BfpwdU3S+O2VY0njJWlf\nfW3S+Fd1pdVlfbSW9q330oq/VT3mh7Npx99TiW+tz3LP1BVJ47d2nUwa/+SptPq4a3pmksaPFlcn\njQ+V9K36oZD2GbKZ9qMjWdrPfyhRixatiX2rhcS/P6fVGvGfi6yjTWbU+x6q+HWrj82sirbvGPDr\ndT86ucntu6n3yWj7t0evcuc0B/w0KZf3xP8+PV31f/9d1j3q9p2oxWu7rylPu3Om6v5rWyk23L7Z\nevzvTNZvvWYr3zMt/triDB4AAEDOEOABAADkDAEeAABAzhDgAQAA5AwBHgAAQM6cd7toAQA43zQj\nm8gLGRvLa42i21dxMidMO7syJam7VHf7TlZ73b7eUjXa/tT0enfOuvKk2/etiWui7Tf0P+PO+djJ\nq92+9w/+LNr+r5691Z3zL9b/2O37/JFXRtt39vm7hn82fanb11PyU29MVOO7bwsFPx1IrZaaKkDJ\nmTzOrKO1aQAAADhfEeABAADkDAEeAABAzhDgAQAA5AwBHgAAQM60ZRdtob70ArOWMFaSitW07SXm\nb0TyzabFwbWav3sq5uhUWk3QwYy6gzFPzvp1BT3X9TybNP4fqoNJ4/eU0+qy/nA27TW9vDSbNP4H\ns/6OMs8l5ZG0x5hIq1072JX2Ph+bjtdgdJUSCz+HtPeglSnml32MH7+QWKQxsXYtAFyoSJMCAMAi\nQnPhhwPL+ADTjIw/M8/pqmakSenLSNcxWYun65CkIeeEwIlZP7XK9jV+SpHHJuMnDF7Tt9edc9/Y\n5W5fcTB+AuXqVUfcOc/V/BMKXjqU8Xq3O2co48P0aLXH7fNS11Tr/jdGueh/iq1lfUO1gEu0AAAA\n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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f92798bb400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(12,6))\n",
    "ax0 = fig.add_subplot(121)\n",
    "_ = ax0.imshow(la.inv(G @ G.T), cmap='viridis', interpolation='none')\n",
    "ax1 = fig.add_subplot(122)\n",
    "_ = ax1.imshow(G.T @ la.inv(G @ G.T), cmap='viridis', interpolation='none')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<hr />\n",
    "\n",
    "## Aside: minimum norm without inverting G\n",
    "\n",
    "[\"Don't invert that matrix!\"](http://www.johndcook.com/blog/2010/01/19/dont-invert-that-matrix/) — says John Cook, and we should listen to John because he is much smarter than us.\n",
    "\n",
    "OK, no problem... We can use other solvers, like `np.linalg.solve`, or `scipy.linalg.lu_solve`. These are implemented via LAPACK `gesv` and are much faster than inverting matrices with NumPy. \n",
    "\n",
    "### linalg.solve or linalg.lstsq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Best solution by least squares.\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    \"\"\"Exact solution, matrix must be square and full-rank.\"\"\"\n",
    "    m_est = la.solve(G, d)\n",
    "    print(\"Exact solution.\")\n",
    "except la.LinAlgError:\n",
    "    \"\"\"The problem is underdetermined, find optimal solution.\"\"\"\n",
    "    m_est = la.lstsq(G, d)[0]\n",
    "    print(\"Best solution by least squares.\")\n",
    "\n",
    "d_pred = G @ m_est"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n3BpLvtatC2u+JVo9P9zyIWf9+womnzuFo/sek+qsGMJhfJbDgPGs2riKxesXsWTDYpZsWMzS9fNZ\nssF7H98AABNgSURBVPnf9Ojck8N69aFPl+H02bUve3fem64ddqNz284pPwPuzpZtW/i4+mO21mxl\na00VW2u2UhX9LrMy2pa3pW1Z+CkvaxNul7elTVmUWJWVYxg1XkON14SErTbc3la7jW2126ip3UZ1\nbTXuoUUr8WNmlJe1oX15e9qXt6ddebvwu205lZWVVFZWNvI65FVuY9g/wq9fzbuZnld0pKKiAsj8\nC6UYuo/iLu7doi0h1zNaCynTc8n0M5XrcrmIYbnodiwH5hMGq64EXgHOd/e5SWVGAVdGg1VHALcV\nYsD9ttpt/Gvxv1i7eS3dO3Wne6fu9OjUg9067FaQMTfPL3meM/98Jm98+Q16dt7RWjRnTviS32uv\nhv928+aQpI1Iehb/b8b/8fDch3nqoqcyPp+Pqj7ii1O+yKJ1i3j43Ifptks3fv7vn3PHjDsY98lx\nfPuob9OpXZosMElNbQ2jJo5icI/B3HTiTXUeq66pZtTEUQzccyC/OuVXGe2vKW598VbunXkv/7r4\nX3UG39d6Lef99TzKrZyJZ0/MqEvP3Tn8rsO55aRbOOmAkBhv2AALF8KwYen/9o03QsvnnlEVLp1y\nKe3K23Hn6DubfW6lLgbdjjmLYYluR9i5iyTTrpRi6T6SeCmlbu1MzyXXn6nmfvaaFcPcPesfYCQh\neC0Ero22XQFcnlTmDuBt4HVgaJp9eWvyjenf8EsevaTOtnfecV+0KP3fvf++++uv77i/fst67/GL\nHj5r5awm16G2ttZ/8e9feM+be3qfW/v42L+O9cXrFjd5P+7u7338nvf7ZT//21t/q7P/y6dc7qf8\n8RSvrqlu1n4zce1T1/on7/mkb9iyYfu2r0//un9mwmd8S/WWJu1rwqwJftIDJ22/X13t/txz7rW1\n6f/uxRfdN20Kt59+52nve2tfX79lfZOO3dpEn/mcxKLm/uQqhgHOeLzi7jG+raamznluq6nxirvH\nOOPZ/pOq3Dcf/VGdMomfqx+9MQfPtpSybTU1/uCrU/3qR2/0B1+dutN7q5hkci6ZfqZyXa6+5sSw\nrFu+ci3OU7Vbwrot6xhwxwCeuPAJhvQKTaqrVoUuroEND2Fi6dIw8+/AA8P96569jqUblnL/Gfc3\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f92890c3a58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from utils import plot_all\n",
    "\n",
    "plot_all(m, d, m_est, d_pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is essentially exactly what we got before using our method with inversion."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### QR factorization\n",
    "\n",
    "Only works if **G** is square."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "q, r = la.qr(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9276fe09b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.imshow(q, cmap='viridis', interpolation='none')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "m_est = la.inv(r) @ q.T @ d\n",
    "d_pred = G @ m_est\n",
    "plot_all(m, d, m_est, d_pred, equalize=False)\n",
    "\n",
    "# NB This block will fail if G is not square."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### LU factorization\n",
    "\n",
    "Again, **G** must be square."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "lu, piv = spla.lu_factor(G)\n",
    "plt.imshow(lu, cmap='viridis', interpolation='none')\n",
    "plt.show()\n",
    "\n",
    "# NB This block will fail if G is not square."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "m_est = spla.lu_solve((lu, piv), d)\n",
    "d_pred = G @ m_est\n",
    "plot_all(m, d, m_est, d_pred, equalize=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [python3]",
   "language": "python",
   "name": "Python [python3]"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
